package com.im.test.constant;

public class WebSocketRequestType {
    public static enum RequestAction {
        /**
         * 进入房间消息(包括用户的 ID,别名，守护等级，等级，房管等级，头像，坐驾类型，坐驾名称)
         */
        ENTER((short) 1),
        /**
         * 用户打赏    (包括用户的 ID,别名，守护等级，等级，房管等级，头像，礼物ID，礼物名称),房间号
         */
        REWARD((short) 2),
        /**
         * 聊天消息    (包括用户的 ID,别名，守护等级，等级，房管等级，头像，消息内容).发送公屏消息 当前端用户超过1000以上，则调用本方法发送消息
         */
        MESSAGE((short) 3),
        /**
         * 用户退出    (包括用户的 ID,别名，守护等级，等级，房管等级）
         */
        EXIT((short) 4),

        /**
         * 开通贵族  (包括用户的 ID,别名，守护等级，等级，房管等级，头像，贵族ID，贵族名称)
         */
        BUY_VIP((short) 5),

        /**
         * 亲密互动  (包括用户的 ID,别名，守护等级，等级，房管等级，头像，礼物ID，礼物名称，互动要求)
         */
        BUY_TASK((short) 6),

        /**
         * 购买主播任务 (包括用户的 ID,别名，守护等级，等级，房管等级，头像，礼物ID，礼物名称，任务ID，任务要求)
         */
        BUY_LIVER_TASK((short) 7),
        /**
         * 系统消息
         */
        SYSTEM_MESSAGE((short) 8),

        /**
         * 收到新的延迟消息
         */
        GET_NEW_MESSAGE((short) 9),

        /**
         * 守护等级提升 (包括用户的 ID,别名，守护等级，等级，房管等级，头像，等级)
         */
        GUARD_LEVEL((short) 10),
        /**
         * 房间变化
         */
        ROOM_CHANGE((short) 11),

        /**
         * 踢出房间
         */
        KILL_USER((short) 12),

        /**
         * 禁言用户
         */
        MUTE((short) 13),

        /**
         * 关闭直播间
         */
        CLOSE_ROOM((short) 14),
        /**
         * 贡献排前榜单
         */
        TOP_DEVOTE_LIST((short) 15),
        /**
         *
         16升为管理员,Data:0表示取消管理员，1表示升为管理员
         */
        SET_MANAGE((short) 16),
        /**
         *
         17更新房间参数
         */
        UPDATE_ROOM((short) 17),
        /**
         *
         18强制关闭主播直播间
         */
        KILL_ROOM((short) 18),
        /**
         *
         19房间内系统消息
         */
        ROOM_MESSAGE((short) 19),
        /**
         *
         20观众关注主播
         */
        FOLLOW_LIVER((short) 20),
        /**
         *
         (21弹幕消息)
         */
        BARRAGE_MSG((short) 21),
        /**
         *
         22大额打赏消息
         */
        GLOBAL_GIFT((short) 22),
        /**
         *
         globalGame(23游戏大奖消息)
         */
        GLOBAL_GAME((short) 23),
        /**
         *
         globalBuyVip(24全区开通贵族)
         */
        GLOBAL_BUY_VIP((short) 24),
        /**
         *
         globalGuardLevel(25全区开通守护)
         */
        GLOBAL_GUARD((short) 25),
        /**
         *
         changeNet(26改变线路)
         */
        CHANGE_NET((short) 26),
        /**
         *
         killMessage(27踢人广播消息
         */
        KILL_MESSAGE((short) 27),
        /**
         *
         muteMessage(28禁言广播消息)
         */
        MUTE_MESSAGE((short) 28),
        /**
         *
         muteMessage(29)
         */
        TAB_NEW((short) 29),
        ;

        private short value;

        RequestAction(short value) {
            this.value = value;
        }

        public short getValue() {
            return this.value;
        }

        public static RequestAction getEnum(short value) {
            for (RequestAction r : RequestAction.values()) {
                if (r.getValue() == value) {
                    return r;
                }
            }
            return null;
        }
    }
}
